Identity-Aware Proxy
クラウドベースおよびオンプレミスのアプリケーション、Google Cloud 上で稼働している VM へのアクセスを制御します ユーザー ID を確認し、コンテキストを使用してユーザーにアクセスを許可すべきかどうかを判断します
VPN を使用せずに、信頼できないネットワークから作業します 利用例
https://www.youtube.com/watch?v=zIa8iCcaO_Y
社内向けのクローズドサービスの認証方法の実装にIAPを使った例
IAPを使わない他の実装方法の例
WEBサーバでIPアドレスを使った制限
メリット
シンプルなアクセス制御になる
デメリット
メンテが大変
オフィスからのIPアドレス限定になるので、リモートワークでアクセスできない
VPNを使ってIPアドレスを固定化しIPアドレス制限
メリット
VPNが利用できればどこからでもアクセス可能になる
デメリット
VPNの追加費用が必要
上記方法を代替する、IAPを使った例
ポイント1: Cloud IAM の権限による制御
認証のほかに、認可も行う
Cloud IAM は Google Groups でグループ単位で制御も可能
ポイント2: 承認されないリクエストが遮断される
ポイント3: IAPで承認されたユーザの情報がヘッダーに設定される
https://gyazo.com/f71815a3dd34a5608b5c45ce507075b7
Laravel でのアプリ実装例
https://gyazo.com/f61ff662c02e81f24afd22095e505cd4
最小構成
署名付きIAPヘッダーを使う
JWTを使って、改ざんされたIAPヘッダーかどうか検証するようにして認証